All tasks performed on a computer can be viewed as processing information. There are ways of characterizing these different information processing tasks. One class of information processing can be defined as “business logic”. “Business logic” is a subset of general programming where the objective is the transformation and interpretation of large volumes of data. The challenges or business logic are to perform rapid analyses or to prepare the data so that an individual can more easily interpret it. In this regard, it can be said that business logic differentiates itself from general computing by being data centric. Business logic commonly includes the tasks of exploring, abstracting, alerting, automating, reducing, and directing.
Exploring is the process of helping a user to find interesting features in data. This is achieved through other tasks, such as abstracting. Abstracting creates new data (consolidations, measures, and metrics) from base data. The new data shows the user key facts about the data in ways that are appropriate to a job function and/or workflow. For example, abstracting includes consolidating transactional data so it is shown monthly, or by sales region.
Alerting is another business logic task. Alerting detects patterns or thresholds in data and triggers an event that will notify the user (with an appropriate example or amplification) that a pattern exists. For example, having a rule that highlights or notifies a manager when inventory exceeds a predetermined number of units is an example of alerting.
Automating is another business logic task. Automating involves encapsulating common models of analysis that can very easily be applied by anyone wishing to produce the same metric or derived data. An example of automating is having the finance department capture its specific (customized) accounting models as a set of named objects so that others in the organization can apply these to get the uniform version of a business metric.
Reducing is still another business logic task. Reducing involves filtering information so as to avoid ‘information overflow’. For example, a data filter that automatically reduces the data to show only the financial products offered by a particular branch office is an example of reducing. Another example of reducing is a filter that only shows data items flagged by the alerting rules.
A final business logic task is directing or navigation. Directing indicates to the user useful views on the data based on a combination of patterns, alerts, roles and the like. Directing also provides navigation routes through the data for the user to follow as the meanings and patterns in data are explored. For example, directing includes an analytical routine that decides on and directs the automatic generation of reports specifically to highlight data features based on user role and dynamics in the data. Another example of directing is to allow a user to see progressively more detail in order to determine emerging cause and effect relationships.
These common business logic tasks of exploring, abstracting, alerting, automating, reducing, and directing require different programming instructions. It is difficult to train individuals in a business organization to effectively program these different business logic tasks. Therefore, there is an ongoing need to simplify the process of defining business logic tasks. Once a business logic task is defined, it is desirable to have that task available in a recognizable form so that it can be utilized throughout a business organization.